package code.class1;

import cn.hutool.core.util.ArrayUtil;

/**
 * https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/
 * <p>
 * 删除有序数组中的重复项
 */
public class Code07_RemoveDuplicates {
    public static void main(String[] args) {
        int[] nums = new int[]{1, 1, 1, 2, 2, 2, 3, 4, 4, 6, 7, 7};
        int ans = removeDuplicates(nums);
        System.out.println(ArrayUtil.toString(nums));
        System.out.println(ArrayUtil.toString(ans));
    }

    public static int removeDuplicates(int[] arr) {
        // 获取第一个位置
        int temp = arr[0];
        // 从第二个位置开始遍历
        int index = 1;
        for (int i = 1; i < arr.length; i++) {
            // 当遍历到不相等的位置时，覆盖位置
            if (temp != arr[i]) {
                arr[index++] = arr[i];
                // 存储最后一个不同的值
                temp = arr[i];
            }
        }
        return index;
    }


}
